Smart televisions and other devices that provide display output to televisions provide access to additional content beyond conventional broadcasted television channels. Television apps on these devices are often used to access pages that are individually downloaded using a network such as the Internet. For example, Apple TV® devices download and use television apps and pages (e.g., TVML pages) with such content. Existing techniques have significant limitations with respect to enabling the authoring and deploying of television apps and pages, such as TVML-based pages, used by television apps.
Existing systems do not sufficiently assist designers with creating, updating, and deploying pages used by television apps, and instead require writing code for the pages and/or significant backend technical work. For example, the software development kits (SDK) for Apple TV® uses JavaScript-driven templates and wraps the markup code of TVML in JavaScript. Designers must write code to use these features. Moreover, while some other systems enable GUI-based design of hyper-text-markup-language (HTML) webpages, these systems use GUIs that use HTML renderers and generate HTML code. The systems are thus unable to display, update, or deploy elements that are specific to television app page formats. For example, TVML tags for television app carousels, mockups, and overlays are not understood by HTML and the navigation elements are different.
Existing app deployment techniques also do not sufficiently assist designers with creating, updating, and deploying the television apps. Existing techniques generally require seeking approval of app updates from an app store provider and interaction on the part of the end user to affirmatively update an app. There is no coordination of updates to television apps and updates to the pages for the apps since the app updates and page updates must be deployed through different channels, e.g., the app through the app store and the pages via a content server. Moreover, when the designer deploys a new version of the app that includes updated application logic, at least some end users will fail to obtain the update since current processes require user initiated app updates. This becomes a significant issue if the designer also deploys new pages for the television app that are not compatible with the prior version of the app still being used by some end users. The existing app update techniques are also generally burdensome on the designer who must submit even minor changes for approval through the often time-consuming app store approval process.